home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Now 7 / CD-ROM Now 7.iso / 3playdmo / setup.mst < prev    next >
Text File  |  1993-10-29  |  9KB  |  327 lines

  1. '**************************************************************************
  2. '*                       MSSetup for Triple Play in Spanish
  3. '**************************************************************************
  4.  
  5.  
  6. '$INCLUDE 'setupapi.inc'
  7. '$INCLUDE 'msdetect.inc'
  8.  
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST OPTIONS       = 800
  18. CONST APPHELP       = 900
  19. CONST NOFREESPACE   = 1000
  20. CONST BADPATH       = 6400
  21. CONST NOAVISPACE    = 1300
  22. CONST REBOOTLATER   = 1400
  23.  
  24. CONST AVISPACE        = 153600        ''SIZE OF AVI DRIVERS approx 150K
  25. CONST MINSPACE      = 1572864        ''1.5 MBytes
  26.  
  27. ''Bitmap ID
  28. CONST LOGO = 1
  29.  
  30. GLOBAL DEST$        ''Default destination directory.
  31. GLOBAL OPTCUR$      ''Option selection from option dialog.
  32. GLOBAL SRCDIR$
  33. GLOBAL INSTDIR$
  34. GLOBAL APPNAME$
  35. GLOBAL WINTITLE$
  36. GLOBAL DIRNAME$
  37. GLOBAL TmpSrc$
  38. GLOBAL TmpDest$
  39. GLOBAL AviSrc$
  40. GLOBAL MinorVersion
  41. GLOBAL MajorVersion
  42. GLOBAL WINDIR$
  43. GLOBAL WINSYSDIR$
  44. GLOBAL mciavistring$
  45. GLOBAL RebootFlag
  46. GLOBAL CUIDLL$
  47.  
  48.  
  49. DECLARE SUB Install
  50. DECLARE SUB EditSystemIni
  51. DECLARE SUB BuildGroup
  52. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  53.  
  54. INIT:
  55.     APPNAME$ = "Triple Play in Spanish - Demo"
  56.     DIRNAME$ = "3PLAYDMO"    
  57.     WINTITLE$ = APPNAME$ + " - Installation"
  58.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  59.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  60.     SetBitmap CUIDLL$, LOGO
  61.     SetTitle  WINTITLE$
  62.  
  63.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  64.     IF szInf$ = "" THEN
  65.         szInf$ = GetSymbolValue("STF_CWDDIR") + "SETUP.INF"
  66.     END IF
  67.     ReadInfFile szInf$
  68.  
  69. ''    SRCDIR$ = (GetSymbolValue("STF_SRCDIR") + DIRNAME$ + "\")
  70. ''    Since the setup files for this demo are being put in the 3playdmo 
  71. ''    directory, the next line is more appropriate.
  72.     SRCDIR$ = (GetSymbolValue("STF_SRCDIR"))
  73.     WINDIR$ = GetWindowsDir()
  74.     WINSYSDIR$ = GetWindowsSysDir()
  75.  
  76.     RebootFlag = 0    ''if system ini and win ini don't have the
  77.             ''appropriate entry for mci drivers, then the 
  78.             ''RebootFlag is set TRUE and a reboot dialog box
  79.             ''appears on the screen reminding them to reboot
  80.  
  81.  
  82.     OPTCUR$ = "1"
  83.     DEST$ = ("C:\" + DIRNAME$)
  84.     MinorVersion=GetWindowsMinorVersion()
  85.     MajorVersion=GetWindowsMajorVersion()
  86.  
  87.     IF MajorVersion < 3 OR (MajorVersion = 3 AND MinorVersion < 10) THEN
  88.     i% = DoMsgBox("Microsoft Windows Version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  89.     END
  90.     END IF
  91.  
  92.  
  93. '$IFDEF DEBUG
  94.     i% = SetSizeCheckMode(scmOnIgnore)    '' could use scmOff; def = scmOnFatal
  95.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  96.     IF IsDriveValid(WinDrive$) = 0 THEN
  97.         i% = DoMsgBox("Windows drive ('"+WinDrive$+"') is not a valid drive.", "DEBUG", MB_TASKMODAL+MB_ICONHAND+MB_OK)
  98.         GOTO QUIT
  99.     END IF
  100. '$ENDIF ''DEBUG
  101.  
  102.  
  103. AVI_ENTRY:
  104.     WinDrive$ = MID$(GetWindowsDir, 1, 1)
  105.     IF GetFreeSpaceForDrive(WinDrive$) < AVISPACE THEN
  106.         GOSUB NOAVISPACE
  107.         UIPopAll
  108.         END
  109.     ENDIF
  110.     
  111.     
  112.  
  113. OPTION:
  114.     SetSymbolValue "RadioDefault", OPTCUR$
  115. OPTL1:
  116.     sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", APPHELP, HELPPROC$)
  117.     OPTCUR$ = GetSymbolValue("ButtonChecked")
  118.  
  119.     IF sz$ = "CONTINUE" THEN
  120.         UIPop(1)
  121.       ELSEIF sz$ = "REACTIVATE" THEN
  122.         GOTO OPTL1
  123.       ELSE
  124.         GOSUB ASKQUIT
  125.         GOTO OPTION
  126.       END IF
  127.     IF OPTCUR$ = "2" THEN
  128.         GOTO NOINSTALL
  129.     END IF
  130.  
  131.  
  132. GETPATH:
  133.     SetSymbolValue "EditTextIn", DEST$
  134.     SetSymbolValue "EditFocus", "END"
  135. GETPATHL1:
  136.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  137.     DEST$ = GetSymbolValue("EditTextOut")
  138.  
  139.     IF sz$ = "CONTINUE" THEN
  140.         IF IsDirWritable(DEST$) = 0 THEN
  141.             GOSUB BADPATH
  142.             GOTO GETPATHL1
  143.         END IF
  144.         IF GetFreeSpaceForDrive(DEST$) < MINSPACE THEN
  145.         GOSUB NOFREESPACE
  146.             GOTO GETPATHL1
  147.         ENDIF
  148.         UIPop 1
  149.     ELSEIF sz$ = "REACTIVATE" THEN
  150.         GOTO GETPATHL1
  151.     ELSEIF sz$ = "BACK" THEN
  152.         UIPop 1
  153.         GOTO OPTION
  154.     ELSE
  155.         GOSUB ASKQUIT
  156.         GOTO GETPATH
  157.     END IF
  158.  
  159.  
  160.     Install
  161.     GOTO QUIT
  162.  
  163. NOINSTALL:
  164.     INSTDIR$ = SRCDIR$
  165.     BuildGroup
  166.  
  167. QUIT:
  168.     ON ERROR GOTO ERRQUIT
  169.  
  170.     IF ERR = 0 THEN
  171.         dlg% = EXITSUCCESS
  172.     ELSEIF ERR = STFQUIT THEN
  173.         dlg% = EXITQUIT
  174.     ELSE
  175.         dlg% = EXITFAILURE
  176.     END IF
  177. QUITL1:
  178.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  179.     IF sz$ = "REACTIVATE" THEN
  180.         GOTO QUITL1
  181.     END IF
  182.     UIPop 1
  183.  
  184.     END
  185.  
  186. ERRQUIT:
  187.     i% = DoMsgBox("Setup sources were corrupted, call the included support number", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  188.     END
  189.  
  190.  
  191.  
  192. BADPATH:
  193.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  194.     IF sz$ = "REACTIVATE" THEN
  195.         GOTO BADPATH
  196.     END IF
  197.     UIPop 1
  198.     RETURN
  199.  
  200. NOFREESPACE:
  201.     sz$ = UIStartDlg(CUIDLL$, NOFREESPACE, "FInfo0DlgProc", 0, "")
  202.     IF sz$ = "REACTIVATE" THEN
  203.         GOTO NOFREESPACE
  204.     END IF
  205.     UIPop 1
  206.     RETURN
  207.  
  208. NOAVISPACE:
  209.     sz$ = UIStartDlg(CUIDLL$, NOAVISPACE, "FInfo0DlgProc", 0, "")
  210.     IF sz$ = "REACTIVATE" THEN
  211.         GOTO NOAVISPACE
  212.     END IF
  213.     UIPop 1
  214.     RETURN
  215.  
  216.  
  217. ASKQUIT:
  218.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  219.  
  220.     IF sz$ = "EXIT" THEN
  221.         UIPopAll
  222.         ERROR STFQUIT
  223.     ELSEIF sz$ = "REACTIVATE" THEN
  224.         GOTO ASKQUIT
  225.     ELSE
  226.         UIPop 1
  227.     END IF
  228.     RETURN
  229.  
  230.  
  231.  
  232. '**
  233. '** Purpose:
  234. '**     Builds the copy list and performs all installation operations.
  235. '** Arguments:
  236. '**     none.
  237. '** Returns:
  238. '**     none.
  239. '*************************************************************************
  240. SUB Install STATIC
  241.  
  242. ''    SrcDir$ = (GetSymbolValue("STF_SRCDIR") + DIRNAME$ + "\")
  243.     SrcDir$ = (GetSymbolValue("STF_SRCDIR"))
  244.     CreateDir DEST$, cmoNone
  245.  
  246.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  247.     WriteToLogFile ""
  248.     WriteToLogFile "  User chose as destination directory: '" + DEST$ + "'"
  249.     WriteToLogFile "  User chose option: '" + OPTCUR$ + "'"
  250.     WriteToLogFile ""
  251.     WriteToLogFile "May have had to create the directory: " + DEST$
  252.     WriteToLogFile ""
  253.  
  254.     AddSectionFilesToCopyList "Files", SrcDir$, DEST$
  255.     TmpSrc$ = SrcDir$ + "VARIABLE\IWVAR"
  256.     TmpDest$ = DEST$ + "\VARIABLE"
  257.     AddSectionFilesToCopyList "IWVAR", TmpSrc$, TmpDest$
  258.     AviSrc$ = SrcDir$ + "AVIDRIVR"
  259.     AddSectionFilesToCopyList "AviDrivers",AviSrc$,WINSYSDIR$
  260.     CopyFilesInCopyList
  261.  
  262.  
  263.     INSTDIR$ = DEST$
  264.     EditSystemIni
  265.     BuildGroup
  266.     CloseLogFile
  267.  
  268. END SUB
  269.  
  270. SUB EditSystemIni STATIC
  271.     i% = DoesIniKeyExist(WINDIR$ + "system.ini","mci","AVIVideo")
  272.     IF i% = 0 THEN
  273.         RebootFlag = 1
  274.     ENDIF
  275.     i% = DoesIniKeyExist(WINDIR$ + "system.ini","Drivers","VIDC.MSVC")
  276.     IF i% = 0 THEN
  277.         RebootFlag = 1
  278.     ENDIF
  279.  
  280.     CreateIniKeyValue WINDIR$ + "system.ini","mci","AVIVideo","mciavi.drv",cmoOverwrite
  281.            CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  282.         CreateIniKeyValue "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  283. END SUB
  284.  
  285. SUB BuildGroup STATIC
  286.  
  287.     CreateProgmanGroup "LANGUAGE", "", cmoNone
  288.     ShowProgmanGroup  "LANGUAGE", 1, cmoNone
  289.     CreateProgmanItem "LANGUAGE", APPNAME$, MakePath(INSTDIR$,"present.exe"), MakePath(INSTDIR$,"3playsp.ico"), cmoOverwrite
  290. REBOOTMSG:
  291.     IF RebootFlag = 1 THEN
  292.         sz$ = UIStartDlg(CUIDLL$, REBOOTLATER, "FInfo0DlgProc", 0, "")
  293.         IF sz$ = "REACTIVATE" THEN
  294.             GOTO REBOOTMSG
  295.         END IF
  296.         UIPop 1
  297.     ENDIF
  298.         
  299.  
  300. END SUB
  301.  
  302.  
  303.  
  304.  
  305. '**
  306. '** Purpose:
  307. '**     Appends a file name to the end of a directory path,
  308. '**     inserting a backslash character as needed.
  309. '** Arguments:
  310. '**     szDir$  - full directory path (with optional ending "\")
  311. '**     szFile$ - filename to append to directory
  312. '** Returns:
  313. '**     Resulting fully q